{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "14a2af6f-bb72-437e-8bc4-f9fc620896df",
   "metadata": {},
   "source": [
    "# Explore and process the single station dataset\n",
    "\n",
    "This explanation was written after I'd finished with the dang exploration/processing. TL;DR: This entire dataset was mis-flagged, so I took the latter half of the dataset (after index 17500). I did a simple absolute-value-greater-than-threshold test to see where the anomalies were in the normalized readings. These anomalies included both \"spikes\" and \"zeros\" and were recorded in the anomaly index of the final saved dataset.\n",
    "\n",
    "The first half of this notebook is me playing around with and exploring the data.\n",
    "\n",
    "The second half is me preprocessing it to fit the format that the VAE-LSTM learner accepts."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6e7929ad-7052-40b8-9f67-cfbb3eb66506",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import csv\n",
    "import numpy as np\n",
    "import matplotlib.pylab as plt\n",
    "import pandas as pd\n",
    "from matplotlib.pyplot import plot, ion, show, savefig, cla, figure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f79bb0d2-f859-4bef-8c9b-61fcf67b21ac",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['WBAN', 'STATION_ID', 'UTC_START', 'TEMPERATURE', 'PRECIPITATION',\n",
      "       'VARIABLE', 'VOLUMETRIC', 'NOPRCPRESPONSE', 'FROZENRECOVERY', 'NOISE',\n",
      "       'FAILURE', 'STATIC', 'ERRATIC', 'DIURNALNOISE', 'TOOHIGH', 'SCALING',\n",
      "       'ZERO', 'SPIKE', 'stVarId', 'flgCount', 'anyFlag'],\n",
      "      dtype='object')\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>WBAN</th>\n",
       "      <th>STATION_ID</th>\n",
       "      <th>UTC_START</th>\n",
       "      <th>TEMPERATURE</th>\n",
       "      <th>PRECIPITATION</th>\n",
       "      <th>VARIABLE</th>\n",
       "      <th>VOLUMETRIC</th>\n",
       "      <th>NOPRCPRESPONSE</th>\n",
       "      <th>FROZENRECOVERY</th>\n",
       "      <th>NOISE</th>\n",
       "      <th>...</th>\n",
       "      <th>STATIC</th>\n",
       "      <th>ERRATIC</th>\n",
       "      <th>DIURNALNOISE</th>\n",
       "      <th>TOOHIGH</th>\n",
       "      <th>SCALING</th>\n",
       "      <th>ZERO</th>\n",
       "      <th>SPIKE</th>\n",
       "      <th>stVarId</th>\n",
       "      <th>flgCount</th>\n",
       "      <th>anyFlag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>63858</td>\n",
       "      <td>1122</td>\n",
       "      <td>2017-11-08 00:00:00</td>\n",
       "      <td>20.979</td>\n",
       "      <td>0.0</td>\n",
       "      <td>sw2010</td>\n",
       "      <td>0.469</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1122sw2010</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>63858</td>\n",
       "      <td>1122</td>\n",
       "      <td>2017-11-08 01:00:00</td>\n",
       "      <td>21.090</td>\n",
       "      <td>0.0</td>\n",
       "      <td>sw2010</td>\n",
       "      <td>0.463</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1122sw2010</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>63858</td>\n",
       "      <td>1122</td>\n",
       "      <td>2017-11-08 02:00:00</td>\n",
       "      <td>20.685</td>\n",
       "      <td>0.0</td>\n",
       "      <td>sw2010</td>\n",
       "      <td>0.460</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1122sw2010</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>63858</td>\n",
       "      <td>1122</td>\n",
       "      <td>2017-11-08 03:00:00</td>\n",
       "      <td>20.612</td>\n",
       "      <td>0.0</td>\n",
       "      <td>sw2010</td>\n",
       "      <td>0.474</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1122sw2010</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>63858</td>\n",
       "      <td>1122</td>\n",
       "      <td>2017-11-08 04:00:00</td>\n",
       "      <td>20.613</td>\n",
       "      <td>0.0</td>\n",
       "      <td>sw2010</td>\n",
       "      <td>0.468</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1122sw2010</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    WBAN  STATION_ID            UTC_START  TEMPERATURE  PRECIPITATION  \\\n",
       "0  63858        1122  2017-11-08 00:00:00       20.979            0.0   \n",
       "1  63858        1122  2017-11-08 01:00:00       21.090            0.0   \n",
       "2  63858        1122  2017-11-08 02:00:00       20.685            0.0   \n",
       "3  63858        1122  2017-11-08 03:00:00       20.612            0.0   \n",
       "4  63858        1122  2017-11-08 04:00:00       20.613            0.0   \n",
       "\n",
       "  VARIABLE  VOLUMETRIC  NOPRCPRESPONSE  FROZENRECOVERY  NOISE  ...  STATIC  \\\n",
       "0   sw2010       0.469               0               0      0  ...       0   \n",
       "1   sw2010       0.463               0               0      0  ...       0   \n",
       "2   sw2010       0.460               0               0      0  ...       0   \n",
       "3   sw2010       0.474               0               0      0  ...       0   \n",
       "4   sw2010       0.468               0               0      0  ...       0   \n",
       "\n",
       "   ERRATIC  DIURNALNOISE  TOOHIGH  SCALING  ZERO  SPIKE     stVarId flgCount  \\\n",
       "0        0             0        0        0     0      0  1122sw2010        0   \n",
       "1        0             0        0        0     0      0  1122sw2010        0   \n",
       "2        0             0        0        0     0      0  1122sw2010        0   \n",
       "3        0             0        0        0     0      0  1122sw2010        0   \n",
       "4        0             0        0        0     0      0  1122sw2010        0   \n",
       "\n",
       "   anyFlag  \n",
       "0        0  \n",
       "1        0  \n",
       "2        0  \n",
       "3        0  \n",
       "4        0  \n",
       "\n",
       "[5 rows x 21 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load a single sensor into a pandas DataFrame object and preview its contents.\n",
    "ssdf = pd.read_csv(\"1122sw2010_tseries.csv\")\n",
    "print(ssdf.columns)\n",
    "ssdf.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d21830e5-2217-44d6-a245-a5650f027e3c",
   "metadata": {},
   "source": [
    "## Initial checks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ca508257-ee96-4be2-a351-7864ae23cce7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['sw2010'], dtype=object)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check that this data all derives from a single sensor.\n",
    "ssdf.VARIABLE.unique()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d16c6d7b-0070-4d93-a3b7-5c94fb8ed3c0",
   "metadata": {},
   "source": [
    "Confirmed that it derives from a single sensor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7f070b2b-428a-438f-a433-22f73124317e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1]\n",
      "2613\n"
     ]
    }
   ],
   "source": [
    "# Find out how many flagged data points exist for this sensor.\n",
    "print(ssdf.anyFlag.unique())\n",
    "print(ssdf.anyFlag.sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "672c418f-a83b-4141-9c0d-220322f52ffa",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1]\n"
     ]
    }
   ],
   "source": [
    "# Find how many locations exist with more than one flag.\n",
    "print(ssdf.flgCount.unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "34bf61ad-3279-487d-b490-80ada64b7d54",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NOISE: [0] 0\n",
      "FAILURE: [0] 0\n",
      "STATIC: [0] 0\n",
      "ERRATIC: [0 1] 66\n",
      "DIURNALNOISE: [0] 0\n",
      "TOOHIGH: [0] 0\n",
      "SCALING: [0] 0\n",
      "ZERO: [0 1] 5\n",
      "SPIKE: [0 1] 2542\n"
     ]
    }
   ],
   "source": [
    "# Count the number of different occurences for each anomaly type.\n",
    "for flag_name in [\n",
    "    \"NOISE\", \"FAILURE\", \"STATIC\", \n",
    "    \"ERRATIC\", \"DIURNALNOISE\", \"TOOHIGH\", \n",
    "    \"SCALING\", \"ZERO\", \"SPIKE\"]:\n",
    "    \n",
    "    print(f\"{flag_name}:\", ssdf[flag_name].unique(), ssdf[flag_name].sum())\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "f03b846d-ac5b-45e5-8c06-f9003b2ef1b6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[16705 16706 16707 16708 16709 16710 16711 16712 16713 16714 16715 16716\n",
      " 16717 16718 16719 16720 16721 16722 16723 16724 16725 16726 16727 16728\n",
      " 16729 16730 16731 16732 16733 16734 16735 16736 16737 16738 16739 16740\n",
      " 16741 16742 16743 16744 16745 16746 16747 16748 16749 16750 16751 16752\n",
      " 16753 16754 16755 16756 16757 16758 16759 16760 16761 16762 16763 16764\n",
      " 16765 16766 16767 16768 16769 16770]\n",
      "[24861 24863 25147 25863 25866]\n",
      "[809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826\n",
      " 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844\n",
      " 845 846 847 848 849 850 851 852 853 854 855 856 857 858]\n"
     ]
    }
   ],
   "source": [
    "# See at what indices the known anomalies occur.\n",
    "idx_anomaly = ssdf.anyFlag[ssdf.anyFlag == 1].index.values\n",
    "idx_spikes = ssdf.SPIKE[ssdf.SPIKE == 1].index.values\n",
    "idx_erratic = ssdf.ERRATIC[ssdf.ERRATIC == 1].index.values\n",
    "idx_zero = ssdf.ZERO[ssdf.ZERO == 1].index.values\n",
    "\n",
    "print(idx_erratic)\n",
    "\n",
    "print(idx_zero)\n",
    "\n",
    "print(idx_spikes[:50])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c106bc54-e80f-4d06-a04a-badff6cb50ef",
   "metadata": {},
   "source": [
    "## Some data prep"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cc5ee5f6-7c51-4295-a95d-05e791a2dafe",
   "metadata": {},
   "outputs": [],
   "source": [
    "# all_columns = [\n",
    "#     'WBAN', 'STATION_ID', 'TEMPERATURE', 'PRECIPITATION', 'VARIABLE',\n",
    "#     'VOLUMETRIC', 'NOPRCPRESPONSE', 'FROZENRECOVERY', 'NOISE', 'FAILURE',\n",
    "#     'STATIC', 'ERRATIC', 'DIURNALNOISE', 'TOOHIGH', 'SCALING', 'ZERO',\n",
    "#     'SPIKE', 'stVarId', 'flgCount', 'anyFlag'\n",
    "# ]\n",
    "selected_columns = [\n",
    "    'TEMPERATURE', 'PRECIPITATION', 'VARIABLE',\n",
    "    'VOLUMETRIC', 'NOPRCPRESPONSE', 'FROZENRECOVERY', 'NOISE', 'FAILURE',\n",
    "    'STATIC', 'ERRATIC', 'DIURNALNOISE', 'TOOHIGH', 'SCALING', 'ZERO',\n",
    "    'SPIKE', 'stVarId', 'flgCount', 'anyFlag'\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9090c0e-e804-4561-9f5b-95cfdade9f49",
   "metadata": {},
   "source": [
    "# Normalize and plot single sensor reads"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "id": "99f544ac-5873-4922-9b5a-e4242ee87746",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# Define plotting vertical limits.\n",
    "y_scale = 10\n",
    "\n",
    "# idx_split = [0, 5200]\n",
    "# idx_split = [800, 1000]\n",
    "# idx_split = [17500, 33199]\n",
    "idx_split = [17500, 23900]\n",
    "\n",
    "t = [\n",
    "    i for i in range(len(ssdf.index.values))\n",
    "]\n",
    "\n",
    "idx_anom_split = [\n",
    "    aidx for aidx in idx_anomaly if (aidx>idx_split[0]) and (aidx<idx_split[1])\n",
    "]\n",
    "\n",
    "# plot the whole normalised sequence\n",
    "fig, axs = plt.subplots(1, 1, figsize=(18, 4), edgecolor='k')\n",
    "fig.subplots_adjust(hspace=.4, wspace=.4)\n",
    "# axs = axs.ravel()\n",
    "# for i in range(4):\n",
    "\n",
    "axs.plot(t[idx_split[0]:idx_split[1]], ssdf.VOLUMETRIC.values[idx_split[0]:idx_split[1]])\n",
    "\n",
    "# axs.plot(t, ssdf.VOLUMETRIC.values)\n",
    "\n",
    "for j in range(len(idx_anom_split)):\n",
    "    axs.plot(idx_anom_split[j]*np.ones(20), np.linspace(-y_scale,y_scale,20), 'r--')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "id": "5fd11216-2012-48a8-a445-e7adef6f21cc",
   "metadata": {},
   "outputs": [],
   "source": [
    "idx_split = [17500, 23900]\n",
    "\n",
    "readings = ssdf.VOLUMETRIC.values\n",
    "t = ssdf.index.values\n",
    "\n",
    "# split into training and test sets\n",
    "training = readings[idx_split[0]:idx_split[1]]\n",
    "t_train = t[idx_split[0]:idx_split[1]]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "id": "82a70546-ad0c-4167-aee5-38685c0a939b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Training set mean is 0.44379484375000006\n",
      "Training set std is 0.04079043934751237\n"
     ]
    }
   ],
   "source": [
    "# Normalise by training mean and std \n",
    "train_m = np.mean(training)\n",
    "train_std = np.std(training)\n",
    "print(\"\\nTraining set mean is {}\".format(train_m))\n",
    "print(\"Training set std is {}\".format(train_std))\n",
    "readings_normalised = (readings - train_m) / train_std"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "id": "439225f8-a679-4dd0-ad95-90a7ecfb30ea",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1296x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the whole normalised sequence\n",
    "fig, axs = plt.subplots(1, 1, figsize=(18, 4), edgecolor='k')\n",
    "fig.subplots_adjust(hspace=.4, wspace=.4)\n",
    "# axs = axs.ravel()\n",
    "# for i in range(4):\n",
    "\n",
    "# axs.plot(t[idx_split[0]:idx_split[1]], readings_normalised[idx_split[0]:idx_split[1]])\n",
    "# axs.plot(t, readings_normalised)\n",
    "# axs.plot(t[idx_split[0]:], readings_normalised[idx_split[0]:])\n",
    "\n",
    "# idx_start, idx_stop = 23900, 26000\n",
    "# idx_start, idx_stop = 31000, 32000\n",
    "idx_start, idx_stop = 24850, 24870\n",
    "\n",
    "axs.plot(t[idx_start:idx_stop], readings_normalised[idx_start:idx_stop])\n",
    "\n",
    "# axs.plot(t, ssdf.VOLUMETRIC.values)\n",
    "\n",
    "for j in range(len(idx_anom_split)):\n",
    "    axs.plot(idx_anom_split[j]*np.ones(20), np.linspace(-y_scale,y_scale,20), 'r--')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "id": "ba07d123-66f4-4575-aa85-81459c57f148",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([24861, 24863, 25147, 25863, 25866])"
      ]
     },
     "execution_count": 166,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "idx_zero"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d774ce38-59d3-4457-99d1-0d7edf2dab9a",
   "metadata": {},
   "source": [
    "#### Find indices of unflagged spikes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "fba02078-8115-4126-9407-1eef31638a35",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "23935\n",
      "24861\n",
      "24863\n",
      "25147\n",
      "25863\n",
      "25866\n",
      "31043\n",
      "31045\n",
      "31046\n",
      "31047\n",
      "31051\n",
      "31052\n",
      "31053\n",
      "31054\n",
      "31055\n",
      "31056\n",
      "31057\n",
      "31063\n",
      "31064\n",
      "31066\n",
      "31067\n",
      "31070\n",
      "31148\n",
      "31149\n",
      "31150\n",
      "31151\n",
      "31152\n",
      "31153\n",
      "31156\n",
      "31174\n",
      "32479\n"
     ]
    }
   ],
   "source": [
    "for idx, reading in zip(t[17500:], readings_normalised[17500:]):\n",
    "    if abs(reading) > 8:\n",
    "        print(idx)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "id": "c4e192fb-0023-4605-81e1-e3a4a0a96e98",
   "metadata": {},
   "outputs": [],
   "source": [
    "# old_anom_idx_list = [\n",
    "#     23935, 24861, 24863, 25147, 25863, \n",
    "#     25866, 31043, 31045, 31046, 31047, \n",
    "#     31051, 31052, 31053, 31054, 31055, \n",
    "#     31056, 31057, 31063, 31064, 31066, \n",
    "#     31067, 31070, 31148, 31149, 31150, \n",
    "#     31151, 31152, 31153, 31156, 31174, 32479\n",
    "# ]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b65939cd-1cf8-4e5a-a8c7-2a5db77a189b",
   "metadata": {},
   "source": [
    "# Preprocess the single station dataset and save it for training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "id": "f294e8e5-df65-460d-aa1d-f3fc1bc0e915",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Training set mean is 0.44379484375000006\n",
      "Training set std is 0.04079043934751237\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa79b1394d0>"
      ]
     },
     "execution_count": 185,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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elxOCCGEEEIIIYQoDSRwIYQQQuTX4BdD3QIhhBBCiFJLAhdCCCFEfmyYDvMnQHISlWNrM9w2nHn0DXWrhBBCiGLPwxgFQngkNS6EEEKIvNowHWY+AMkHAE1YShKTI6YxjCWhbpkQQgghRKkhgQshhBAir+ZPgMw0l0kxKoOH1NchapAQQgghROkjgQshhBAir5KTPE6uyYkibogQQgghROlVLAMXSqmmSql1lr8zSqmH3JZJUEolW5YZG6LmCiGEuFDF1fE4+RCVi7ghQgghhBClV7EMXGitt2ut22mt2wEdgVTgRw+LLnEsp7WeUKSNLCCnT5/m3XffzdNjhw4dyunTpwNe/qeffnIZSjUY69atY/bs2Xl6rLtJkyYVyHr+97//MWrUKACmTp3Kp59+6px+8ODBAnkOIYTwqf9YiCjjMilVR/KGvj5EDRJCCCGEKH2KZeDCTX9gt9Z6X6gbAhiF2F5vBeMqGP83TM/X6nwFLrKzs30+dvbs2VSoUCHg5yptgQure+65h1tuuQWQwIUQogi1GQGXTYGwKACyY+swOvMOZtE7xA0TQgghhCg9SkLg4nrgKy/zuiul1iulflVKtSz0lrhVjyf5gHE/H8GL0aNHs3v3btq1a8fjjz/OokWL6NevHzfccAOtW7cG4IorrqBjx460bNmS999/3/nY+Ph4jh8/TmJiIs2bN+fOO++kZcuWDBw4kLQ012Jxf/31FzNmzODxxx+nXbt27N69m927dzN48GA6duxI79692bZtGwDffvstrVq1om3btvTp04eMjAzGjh3LN998Q7t27fjmm29c1r1582a6dOlCu3btaNOmDTt37gTg888/d06/++67yc7OZvTo0aSlpdGuXTtuvPFGl/VkZ2czcuRIWrVqRevWrXn99dcBSEhI4KGHHqJHjx60atWKlStX5tqO48aN45VXXuG7775j9erV3HjjjbRr1y7XdhBCiALXZgTc+yeMWs2Ju9Yww94r1C0SQgghhChVwkPdAF+UUpHAcOApD7PXAvW01meVUkOBn4DGHtZxF3AXQNWqVVm0aJHL/Li4OFJSUpz3y3xzTa4nymp6GZntbqXs789hc6seT2Ya9tlPcK7+EFTqSaJn3uUyO+2673y+xmeeeYYNGzawZIkxdN6SJUtYuXIly5cvJz4+npSUFN58800qVapEWloaCQkJ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ZFSRYDz3HLzyCqSlgdawbh3MmAGPPQbjx4e6dQVq9uzZoW6CEEKUWBod6iYIIYQQQpQaknERqOXLjaBFaqoRtACw2437r7yS78yLK664go4dO9KyZUvef/99AMqVK8eYMWNo27Yt3bp148iRIwDs27eP/v3706ZNG/r378/+/fsBGDlyJPfeey/9+vWjQYMG/PHHH/z73/+mefPmjBw50vlc9957L506daJly5Y899xzHtsTHx/P8ePHAfj888/p0qUL7dq14+677yY7O5vs7GxGjhxJq1ataN26Na+//nq+Xr8QQgghhBBCCOGJBC4C9eabRqaFJ+npxvx8+Oijj1izZg2rV69mypQpnDhxgnPnztGtWzfWr19Pnz59+OCDDwAYNWoUt9xyCxs2bODGG2/kgQcecK7n1KlTLFiwgNdff53LLruMhx9+mM2bN7Nx40bWrVsHwMSJE1m9ejUbNmzgjz/+YMOGDV7btXXrVr755hv+/PNP1q1bR1hYGF988QXr1q3jn3/+YdOmTWzcuJHbbrstX69fCCFKrA3T4dQe2Pcnld/vyHDb0lC3SAghhBCiVJHARaB27MjJtHBnt8POnfla/ZQpU5yZFQcOHGDnzp1ERkZy6aWXAtCxY0cSExMBWLZsGTfccAMAN998M0uX5hwkX3bZZSilaN26NdWrV6d169bYbDZatmzpfPz06dPp0KED7du3Z/PmzWzZssVru+bPn8+aNWvo3Lkz7dq1Y/78+ezZs4cGDRqwZ88e7r//fubMmUP58uXz9fqFEKJE2jAdZj4AZw4CmrCUJCZHTGOYkuCFEEIIIURBkRoXgWrSxKhpYbfnnmezGfPzaNGiRcybN49ly5YRExNDQkIC6enpREREoJRRaTcsLIysrCyPj3csAxAVFWU2yea87biflZXF3r17eeWVV1i1ahUVK1Zk5MiRpKene22b1ppbb72VF198Mde89evXM3fuXN555x2mT5/ORx99lKfXL4QQJdb8CZDpmo0XozJ4hK+BiaFpkxBCCCFEKSMZF4F68EGIjvY8LzoaLN01gpWcnEzFihWJiYlh27ZtLPdTL6NHjx58/fXXAHzxxRf06hX40HtnzpyhbNmyxMXFceTIEX799Vefy/fv35/vvvuOo0ePAnDy5En27dvH8ePHsdvtXH311Tz//POsXbs24DYIIUSpkZzk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\n",
      "text/plain": [
       "<Figure size 1296x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "save_file = False\n",
    "t_unit = \"hour\" \n",
    "dataset = \"single_station_1122\"\n",
    "\n",
    "ssdf = pd.read_csv(\"1122sw2010_tseries.csv\")\n",
    "\n",
    "idx_start = 17500\n",
    "idx_stop = ssdf.shape[0]\n",
    "\n",
    "ssdf = ssdf.iloc[idx_start:]\n",
    "ssdf = ssdf.reset_index()\n",
    "\n",
    "t = ssdf.index.values + 1\n",
    "readings = ssdf.VOLUMETRIC.values\n",
    "\n",
    "idx_train_start = 0\n",
    "idx_train_stop = 23900 - 17500\n",
    "\n",
    "idx_split = [idx_train_start, idx_train_stop]\n",
    "\n",
    "training = readings[idx_split[0]:idx_split[1]]\n",
    "t_train = t[idx_split[0]:idx_split[1]]\n",
    "\n",
    "# normalise by training mean and std \n",
    "train_m = np.mean(training)\n",
    "train_std = np.std(training)\n",
    "print(\"\\nTraining set mean is {}\".format(train_m))\n",
    "print(\"Training set std is {}\".format(train_std))\n",
    "readings_normalised = (readings - train_m) / train_std\n",
    "\n",
    "idx_anomaly = []\n",
    "for idx, reading in zip(t, readings_normalised):\n",
    "    if abs(reading) > 8:\n",
    "        idx_anomaly.append(idx-1)\n",
    "\n",
    "        \n",
    "# print(readings_normalised[idx_anom])\n",
    "\n",
    "training = readings_normalised[idx_split[0]:idx_split[1]]\n",
    "\n",
    "test = readings_normalised[idx_split[1]:]\n",
    "t_test = t[idx_split[1]:] - idx_split[1]\n",
    "idx_anomaly_test = np.asarray(idx_anomaly) - idx_split[1]\n",
    "\n",
    "if save_file:\n",
    "    save_dir = './NAB-known-anomaly/'\n",
    "    np.savez(\n",
    "        save_dir+dataset+'.npz', t=t, t_unit=t_unit,\n",
    "        readings=readings, idx_anomaly=idx_anomaly,\n",
    "        idx_split=idx_split, training=training,\n",
    "        test=test, train_m=train_m, train_std=train_std,\n",
    "        t_train=t_train, t_test=t_test,\n",
    "        idx_anomaly_test=idx_anomaly_test\n",
    "    )\n",
    "    print(\"\\nProcessed time series are saved at {}\".format(save_dir+dataset+'.npz'))\n",
    "\n",
    "y_scale = 10\n",
    "\n",
    "# plot the whole normalised sequence\n",
    "fig, axs = plt.subplots(1, 1, figsize=(18, 4), edgecolor='k')\n",
    "fig.subplots_adjust(hspace=.4, wspace=.4)\n",
    "# axs = axs.ravel()\n",
    "# for i in range(4):\n",
    "\n",
    "\n",
    "axs.plot(t, readings_normalised)\n",
    "if idx_split[0] == 0:\n",
    "    axs.plot(idx_split[1]*np.ones(20), np.linspace(-y_scale,y_scale,20), 'o--')\n",
    "else:\n",
    "    for i in range(2):\n",
    "        axs.plot(idx_split[i]*np.ones(20), np.linspace(-y_scale,y_scale,20), 'b--')\n",
    "\n",
    "        \n",
    "for j in range(len(idx_anomaly)):\n",
    "#     axs.plot(idx_anomaly[j]*np.ones(20), np.linspace(-y_scale,y_scale,20), 'r--')\n",
    "    axs.plot(idx_anomaly[j], 0, 'r.', markersize=15)\n",
    "\n",
    "\n",
    "#     axs.plot(data[:,1])\n",
    "axs.grid(True)\n",
    "axs.set_xlim(0, len(t))\n",
    "axs.set_ylim(-y_scale, y_scale)\n",
    "axs.set_xlabel(\"timestamp (every {})\".format(t_unit))\n",
    "axs.set_ylabel(\"normalised readings\")\n",
    "axs.set_title(\"{} dataset\\n(normalised by train mean {:.2f} and std {:.2f})\".format(dataset, train_m, train_std))\n",
    "axs.legend(('data', 'train test set split', 'anomalies'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a51437d9-31fb-4cb1-a3c5-c3e443ce60ec",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
